package com.lfs.market.controller.temp;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.Getter;

import java.util.Date;

@Data
@TableName("remote_busi_equi_main_mst_new")
public class RemoteBusiEquiMainMstNew {

    /**
     * 设备id，设备id会和采集数据绑定
     */
    @TableId(value = "EQUI_ID", type = IdType.ASSIGN_UUID)
//    @ViewUrl(infoUrl = "", bindParentField = "",statusField = \"dataStatus\") //链表如果需要打开页面，将此配置放到主键上。bindParentField 表示链接那个java字段，可以为“”代表顶级数据。
    private String equiId;

    /**
     * 设备唯一标识
     */
//    @JoinQuery(
//            joinTable ="busi_equi_move_item_mst",
//            selfColumnNames="equiCode,tenantId",
//            joinColumnNames = "ASTNO,TENANT_ID",
//            selectJoinColumnNames="INPROJ",
//            setToColumnNames="inproj")
    private String equiCode;

    /**
     * 调入项目名
     */
//    @TableField(exist = false)
//    @Getter
//    private String inproj;
    /**
     * 设备名
     */
    private String equiName;

    /**
     * 设备类型 塔机 吊机 升降机
     */
    private String typeDefClassId;

    /**
     * 类别名称
     */
    private String typeDefClassName;
    /**
     * 树结构分类
     */
    @TableField(exist = false)
    @Getter
    private String typeDefClassTreeName;

    /**
     * 设备一级分组 大分类
     */
    private String typeDefGroupId;

    /**
     * 设备一级分组名
     */
    private String typeDefGroupName;

    /**
     * 类型id
     */
    private String typeDefTypeId;

    /**
     * 类型名称
     */
    private String typeDefTypeName;

    /**
     * 型号id
     */
    private String typeDefModelId;

    /**
     * 型号名称
     */
    private String typeDefModelName;

    /**
     * 全称
     */
    private String typeDefFullName;

    /**
     * 数据状态 1 启用 2 停用
     */
    private String dataState;

    /**
     * 业务状态 1 使用 2 维修 4 报废 9 未知
     */
    private String equiState;
    /**
     * 任务当前步骤。sys_task_instance_mst BUSI_STEPS_GROUP
     */
    private String taskSteps;

    /**
     * 所属状态 1 自有 2 租用
     */
    private String ownerType;
    /**
     * 型号
     */
    private String configId;
    /**
     * 规格型号
     */
    private String config;
    /**
     * 出厂编号
     */
    private String produceNo;

    /**
     * 生产厂家
     */
    private String factory;

    /**
     * 生产日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date factoryDate;

    /**
     * 购入日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date buyDate;

    /**
     * 车牌号
     */
    private String plateCode;

    /**
     * 报审编号
     */
    private String baoshenCode;

    /**
     * 使用地点
     */
    private String useAdress;

    /**
     * 入场时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date inPlanDate;
    private String inEquiType;
    private String inEquiResult;
    /**
     * 入场计划时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date outPlanDate;
    /**
     * 入场时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date outDate;
    /**
     * 是否监管。只有监管的才会被监控
     */
    private Boolean isSupervise;

    private String outEquiType;
    private String outEquiResult;
    /**
     * 备注
     */
    private String memo;

    /**
     * 所属公司id
     */
    private String ownerCompanyId;

    /**
     * 所属公司
     */
    private String ownerCompanyName;

    /**
     * 启用时间，也可以是采购时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    /**
     * 创建人
     */
    private String createUser;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    /**
     * 修改人
     */
    private String updateUser;

    /**
     *  修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    /**
     * 停用时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /**
     * 创建公司
     */
    private String companyId;

    /**
     * 公司编码
     */
    private String companyName;


    /**
     * 项目id
     */
    private String projectId;
//    @JoinQuery(
//            joinTable = DbCommon.DB_SYSBASE+DbCommon.DB_DOT+"sys_user_main_mst",
//            selfColumnNames="projectId,tenantId",
//            joinColumnNames = "OWNER_PROJECT_IDS,TENANT_ID",
//            selectJoinColumnNames="NICKNAME",
//            setToColumnNames="nickname")
//    @TableField(exist = false)
//    @Getter
//    private String nickname;

    private String projuserName;

    /**
     * 公司编码
     */
    @TableField(exist = false)
    @Getter
    private String projectName;
    @TableField(exist = false)
    @Getter
    private String projectCode;
    /**
     * 是否监管。只有监管的才会被监控
     */
    @TableField(exist = false)
    @Getter
    private Boolean proIsSupervise;
    /**
     * 主公司类型
     */
    @TableField(exist = false)
    @Getter
    private String companyType;
    /**
     * 创建人名
     */
    private String createUserName;
    /**
     * 处置描述
     */
    private String disposalDescription;

    /**
     * 更新人名
     */
    private String updateUserName;

    /**
     * 任务类型编码
     */
    private String typeDefCode;

    /**
     * 车长id
     */
    private String mngUserId;

    /**
     * 车长名
     */
    private String mngUserName;

    /**
     * 系统租户
     */
    private String tenantId;
    /**
     * 是否有异常错误。
     */
    private Boolean isInitError;
    /**
     * 错误消息
     */
    private String errorInfo;

    private String userCode;
    private String nengli;
    private String gongfangCompanyId;
    private String gongfangCompanyName;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date checkDate;
    private Double yuanzhi;
    private Double jingzhi;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date ruzhangDate;
    private String zhejiuYear;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date zhejiuwanDate;
    private String dengjizheng;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date dengjiDate;
    private String dengjizhengUnit;
    private String jianyanReportCode;
    private String equiCode2;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date hefaDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date daoqiDate;
    private String hefaUnit;
    private String chizhengType;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date baoxianDate;
    private String fazhengUnit;
    private String mobile;
    private String zhengshuYouxiaoqiDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date equiIndate;
    /**
     * 所属的项目的使用流水。
     */
    private String equiUseFlow;
    /**
     * 是否监管 false 不监管 true监管，是暂停的意思，比如正在调拨，或者维护。
     */
    private Boolean isMonitor;
    /**
     * 是否删除
     */
    private Boolean isDel;
}